/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author f0899
 */
public class Rekisteri {

    Henkilo henkilot[]; // taulukossa on Henkilo-olioita
    int henkiloita; // henkilöiden määrä taulukossa
    int maxkoko; // taulukon maksimikoko

    //konstruktori eli luokan alustaja
    public Rekisteri(int maxkoko) {
        this.maxkoko = maxkoko;
        this.henkiloita = 0;
        this.henkilot = new Henkilo[maxkoko];
    }

     
    // metodi palauttaa henkilöiden määrän

    public int palautaHenkilomaara() {
        return this.henkiloita;
    }

    //metodi lisää parametrina tuodun henkilön henkilot taulukkoon
    public boolean lisaaHenkilo(Henkilo h) {
        //onko taulukko jo täynnä?
        if (this.henkiloita >= this.maxkoko) {
            return false;
        }
        //lisätään henkilö taulukkoon
        this.henkilot[this.henkiloita] = h;
        this.henkiloita++;
        return true;
    }

    // metodi palauttaa henkilön taulukosta
    public Henkilo palautaHenkilo(int index) {
        //onko taulukossa henkilöä pyydetyllä kohdalla
        if (index >= this.henkiloita) {
            return null;
        }
        //Henkilö löytyy taulukosta ko. kohdalta
        return this.henkilot[index];
    }
//metodi palauttaa henkilön taulukosta sotun perusteella

    public Henkilo etsiHenkilo(String sotu) {
        //vuorossa oleva henkilo
        Henkilo h;
        String hSotu;
        //käydään rekisteri läpi
        for (int i = 0; i < this.henkiloita; i++) {
            //vuorossa oleva henkilö
            h = this.henkilot[i];
            hSotu = h.palautaSotu();
            // verrataan sotuja
            if (sotu.equals(hSotu)) {
                return h;
            }

        }
        return null;
    }
}
